// package com.cloudfunx.common.util;
//
// import com.alibaba.fastjson.JSON;
// import com.alibaba.fastjson.JSONObject;
// import org.apache.commons.lang3.StringUtils;
// import org.apache.http.client.fluent.Request;
// import org.springframework.util.CollectionUtils;
//
// import java.io.IOException;
// import java.net.URLEncoder;
// import java.util.Map;
//
// /**
//  * 聚合短信发送工具类
//  */
// public abstract class JuHeSendSMSUtils {
//     /**
//      * AccessKey
//      */
//     private final static String KEY = "1164e7086a3dec0e253adc646dfbb28a";
//     /**
//      * 传输类型
//      */
//     private final static String DTYPE = "json";
//     /**
//      * 注册短信模版
//      */
//     public final static String TPL_ID_REGISTER = "6811";
//     /**
//      * 忘记密码短信模版
//      */
//     public final static String TPL_ID_FORGET_PWD = "6810";
//     /**
//      * 其他操作短信模版
//      */
//     public final static String TPL_ID_GET_CODE = "6809";
//     /**
//      * 诊所审核通过模板
//      */
//     public static final String TPL_ID_CLINIC_SUCCESS = "218555";
//     /**
//      * 医生审核通过模板
//      */
//     public static final String TPL_ID_DOCTOR_SUCCESS = "218556";
//     /**
//      * 入驻审核失败模板
//      */
//     public static final String TPL_APPLY_STATUS_FAIL = "218557";
//     /**
//      * 项目签名
//      */
//     private final static String APP_SIGN = "家庭牙医";
//     /**
//      * 短信服务器接口地址
//      */
//     private final static String URL = "http://v.juhe.cn/sms/send";
//
//     /**
//      * 发送短信
//      *
//      * @param mobile 手机号
//      * @param code   验证码
//      * @param tplId  模板id
//      * @return
//      * @throws Exception
//      */
//     public static boolean sendSMS(String mobile, String code, String tplId) throws Exception {
//         StringBuilder param = new StringBuilder("key=").append(KEY).append("&mobile=");
//         String tpl_value = "";
//
//         if (TPL_ID_REGISTER.equals(tplId)) {
//             tpl_value = URLEncoder.encode("#app#=" + APP_SIGN + "&#code#=" + code, "UTF-8");
//         } else if (TPL_ID_FORGET_PWD.equals(tplId) || TPL_ID_GET_CODE.equals(tplId)) {
//             tpl_value = URLEncoder.encode("#code#=" + code, "UTF-8");
//         }
//
//         param.append(mobile).append("&tpl_id=").append(tplId).append("&dtype=").append(DTYPE);
//         param.append("&tpl_value=").append(tpl_value);
//
//         String s = Request.Get(URL + "?" + param.toString()).execute().returnContent().asString();
//
//         JSONObject object = JSON.parseObject(s);
//         return "0".equals(object.get("error_code").toString());
//     }
//
//     public static boolean sendPhoneSms(String mobile, String tplId, Map<String, String> map) throws IOException {
//         StringBuilder param = new StringBuilder("key=").append(KEY).append("&mobile=");
//         StringBuilder value = new StringBuilder();
//         //AtomicReference<String> value = new AtomicReference<>("");
//
//         if (!CollectionUtils.isEmpty(map)) {
//             int i = 0;
//             for (Map.Entry<String, String> stringStringEntry : map.entrySet()) {
//                 if (i == 0) {
//                     value.append(URLEncoder.encode("#" + stringStringEntry.getKey() + "#=" + stringStringEntry.getValue(), "UTF-8"));
//                 } else {
//                     value.append(URLEncoder.encode("&#" + stringStringEntry.getKey() + "#=" + stringStringEntry.getValue(), "UTF-8"));
//                 }
//                 i++;
//             }
//         }
//
//         param.append(mobile).append("&tpl_id=").append(tplId).append("&dtype=").append(DTYPE);
//         if (StringUtils.isNotBlank(value.toString())) {
//             param.append("&tpl_value=").append(value.toString());
//         }
//         String s = Request.Get(URL + "?" + param.toString()).execute().returnContent().asString();
//         JSONObject object = JSON.parseObject(s);
//         return "0".equals(object.get("error_code").toString());
//     }
//
//     /*public static void main(String[] args) throws IOException {
//         Map<String, String> map = new HashMap<>();
//         map.put("content", "123");
//         sendPhoneSms("13202440139", "218556", null );
//     }*/
//
// }
